﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ants;

namespace AntsBot
{
    public enum StrategyTypes
    {
        Fight = 0, // head to enemies
        Scout = 1,  // explore map
        GatherFood = 2, // head to food
        Scatter = 3, // away from teammates
        Condense = 4,  // toward teammates
        Retreat = 5,  // away from enemies
        SpreadOut = 6 // move away from barriers
    }

    public abstract class Strategy
    {
        public static float[] STRAT_CONSTANTS = { 
                               .0f, //fight
                               .0f, //scout
                               1f, //gather
                               .0f, //scatter
                               .0f, //condense
                               .0f, //retreat
                               .0f  // spread out
        };

        public const int STRAT_COUNT = 7;

        public StrategyTypes Type { get; set; }

        public AntLoc Ant { get; set; }

        public Strategy(StrategyTypes type, AntLoc ant)
        {
            this.Type = type;
            this.Ant = ant;
        }

        public abstract Goal GetGoal();
    }
}
